The silent majority: Why Visual Basic 5 and 6 still thrive

Introduction

This document is a review of the article in the MSDN magazine: The Silent Majority: Why Visual Basic 6 Still Thrives by David Platt, together with some personal comments related to Microsoft in general.

For a review about Visual Basic 2010 in General read this: Visual Basic 2010 Evaluation and Criticism


The Silent Majority: Why Visual Basic 6 Still Thrives

In the article we read:
Visual Basic 6 did what its creators intended for its market niche: enable very rapid development of limited programs by programmers of lesser experience.
This is not correct. Basic is a computer language which resembles written text to perform calculations at all levels of complexity using a simple set of rules. Fortran is also such a language but it misses the "written text" feature.
Next we read:
It was never meant for heavy-duty coders developing complex applications.
This is not correct. It was not meant to write system software, compilers, operating systems or fast programs. It was meant to develop all sorts of applications including games.
Next is written:
On the other hand, complex things, such as dealing with threads, were impossible.
IMO the Visual Basic end user should not be bothered with the concept of threads and threading. The handling of this should be a task of the operating system. Threads and treading are the domain of C# or C++. (See also the next comment)
When Microsoft made Visual Basic .NET “a full-fledged language,” the company loaded it up with all the power and concomitant complexity etc etc
That is correct. At the same time they killed Basic. The only feature that makes sense is the Backgroundworker in order to do parallel programming. Next is written:
"The people at Microsoft did that because that’s what they thought they heard the Visual Basic 6 community demanding."
Is this really what has happened ? Why this 180 percent change in direction. Microsoft must have realized that they more or less completely changed the objective of the language: from simple to professional
In many companies this is a task of marketing. They make a wish list of all possible features, they estimate the complexity of each feature, they give each feature a priority and they establish a date when the feature will be implemented.
I do not know how large this community was nor what the mix was of the people they interrogated and with which information they supplied them about possible strategies, options, alternatives and consequences of each alternative. Specific the consequences are important because by adding features you can make the product more complex thereby alienating their present end users.

I think that at Microsoft they have a huge staff of programmers. I think at Management they all want to keep them busy. What is the answer change.
Why did they change the look and feel of Excel 2003 versus Excel 2007 (Windows 7): The main reason is change. There was nothing wrong with Excel 2003. I expect the main reason for Excel is the 64 bit architecture, but that cannot be the reason to change the layout. I think this is also the main reason why they developed Visual Basic 2010. The problem is that all users have to buy new software and that will a huge increase in income, which is good for the share holders but wrong for human mankind all over this globe.
Next is written:

The voices that Microsoft heard, however, came from the 3 percent of Visual Basic 6 bus drivers who actively wished to become fighter pilots.
They demanded that Microsoft install afterburners on their busses, along with missiles, countermeasures and a head-up display. And Microsoft did.
Why does David use this rather bombastic language ?
I think what Microsoft did they asked for one round of feedback but there was not a second round. To get an idea about the increased complexity in the Visual Studio Help viewer select:
(1) Helper Viewer Home, (2) Visual Studio 2010, (3) Visual Studio, (4) Visual Studio Languages, (5) Visual Basic and Visual C#, (6) Visual Basic, (7) Reference(VB), (8) Visual Basic Language Reference, (9) Operators (VB) and finally (10) Operators Listed by Functionality (VB).
Now you get a list of roughly 40 operators. In VB 5.0 there are roughly 10: * + = - / ^ and or not mod
Next is written:
Visual Basic 6 was not without faults, of course.
I think this is misleading. Visual Basic 5 (and Visual Basic 6) does not have faults (errors) and if it contained errors than Microsoft should have corrected them.
The issue is what were the objectives of Visual Basic 6 (A simple, powerful, easy to use and to read programming language) and does Visual Basic 6 fulfil those objectives. I think it does.
Visual Studio 2010 is not simple any more.

To get another idea about the increased complexity in the Visual Studio Help viewer select:

(1) Helper Viewer Home,(2) Visual Studio 2010, (3) Visual Studio, (4) Visual Studio Languages, (5) Visual Basic and Visual C#, (6) Getting Started Tutorials, (7) Tutorial 2: Create a Maze and finally (8) Step 2 Build your Maze using Labels
The issue is that building a maze requires that each horizontal line and each vertical line represents a Label which all have an unique name. In total roughly 40 Labels. From a programming point of view that is very time consuming and unpractical. In the tutorial 4 "Creating a matching game" the same problem exists.
In Visual Basic 5 (6 ?) you can use arrays in those cases and that is much more user friendly.

The disadvantage of not being able to use arrays becomes much more visible when you change the example maze as follows:

Draw a random maze with a start at the top left corner and the ends at the bottom right corner.
To observe such a program have a look at Visual Basic 2010 Program: Maze - Create your Maze Without Using Labels. The source and the object are available. What the program does not use are the new features of Visual Basic 2010. Instead it uses almost only features which are also available in Visual Basic 5 (Except BitMap).
Next is written:
But the rapid development of limited applications by lower-skilled personnel is an important solution to a very large class of problems.
I don't know what is meant here. It is not an issue of cheap versus expensif. The issue is that with Visual Basic 5 and 6 you can develop very complex applications in a quick and easy way. With Visual Basic 2010 when you use the Toolbox it will take much more time to develop the same application.
At the end is written:
I’ll bet you a beer that Microsoft has to extend Visual Basic 6 support through Windows 9 and 10.
I do not fully understand this sentence. I have a PC with Windows 7 and it is not possible to load Visual Basic 6 onto that PC. I must use Visual Basic 2010. I have IMO no choice.
My experience is in conflict with the following document: Visual Basic 6.0 to be supported on Windows 7
What I hope is that Microsoft acknowledges that Visual Basic 2010 is not the right path to go and returns back to the look and feel of Visual Basic 6. Of course in order to support 64 bit technology something has to be done. The Backgroundworker is the right approach to support applications which require parallel programming for maximum performance, but only from a academic point of view. Concepts like "threading" are not important for Visual Basic applications and do not require special support except for the SLEEP function. Threads and Threading are the domain of the operating system software.

An Example is the program Visual Basic 2010 Program: Maze - Create your Maze Without Using Labels discussed above. To use any form of threading, threads or the backgroundworker is completely out of this world.

Thanks go to David Platt to express his opinion and to start a discussion.


Feedback

None


E-mail:nicvroom@pandora.be.

Created: 25 August 2012

Back to my home page Contents of This Document